package au.edu.qut.bpm.genbinder.genetic.evaluation;

import java.util.List;
import org.uncommons.watchmaker.framework.FitnessEvaluator;

import au.edu.qut.bpm.genbinder.models.ConcreteEventLog;

public abstract class LogEvaluator implements FitnessEvaluator<ConcreteEventLog> {

	abstract public double getFitness(ConcreteEventLog candidate, List<? extends ConcreteEventLog> population);

	abstract public double getCost(ConcreteEventLog candidate);

	@Override
	public boolean isNatural() {
		// False means that lower fitness is better. Since we are calculating costs, set to false.
		return false;
	}

}
